<div class="box-page-container">
  <div class="box-page-header">
    <div class="title">Создание группы</div>
    <div class="other-controls right">
    </div>
  </div>
  <div class="box-page-body">
    <div class="box-message" id="message" style="display: none;"></div>
    <form id="cp-group-create-form" enctype="application/x-www-form-urlencoded" class="form" action="" method="post">
	<dl class="zend_form">
		<dt id="ID-label"><label for="ID" class="required">ID:</label></dt>
		<dd id="ID-element">
		<?php echo $this->user->id ?>
		<p class="description"></p></dd>
		<dt id="login-label"><label for="login" class="required">Логин:</label></dt>
		<dd id="login-element">
		<input type="text" name="login" id="login" value="<?php echo $this->user->login ?>">
		<p class="description"></p></dd>
		<dt id="name-label"><label for="name" class="required">Имя:</label></dt>
		<dd id="name-element">
		<input type="text" name="name" id="name" value="<?php echo $this->user->name ?>">
		<p class="description"></p></dd>
		<dt id="email-label"><label for="email" class="required">E-mail:</label></dt>
		<dd id="email-element">
		<input type="text" name="email" id="email" value="<?php echo $this->user->email ?>">
		<p class="description"></p></dd>
		<dt id="password-label"><label for="password" class="required">Пароль:</label></dt>
		<dd id="password-element">
		<input type="password" name="password" id="password" value="">
		<p class="description"></p></dd></dl>
	</form>
    <div class="caption">Группы:</div>
    <table class="table" id="group-list">
      <thead>
        <tr>
          <th width="120px">Заголовок</th>
          <th>Описание</th>
          <th width="30px"></th>
        </tr>
      </thead>
      <tbody>
        <?php foreach ($this->groups as $group): ?>
          <tr id="<?php echo $group->id ?>">
            <td><?php echo $group->title ?></td>
            <td><?php echo $group->description ?></td>
            <td><input type="checkbox" <?php echo (($this->user->id == 2 && $group->id == 1) || ($this->user->id == 1 && $group->id == 3)) ? 'disabled checked' : ''; ?>/></td>
          </tr>
        <?php endforeach; ?>
      </tbody>
    </table>
  </div>
  <div class="box-page-footer">
    <div class="box-controls">
      <div class="right">
       	<div class="btn"><button onclick="save(this, <?php echo $this->user->id ?>); return false;" class="primary">Сохранить</button></div>
      </div>
      <div id="progress" class="progress ajax-preloader-base"></div>
      <div id="control_text" class="box-controls-text"></div>
      <div class="clear-fix"></div>
    </div>
  </div>
  <div class="clear-fix"></div>
</div>
<style>
input[type="text"] {
  width: 230px;
}
</style>
<script src="/js/jquery/jquery.js"></script>
<script>
var a = $.parseJSON('<?php echo $this->inGroups ?>');
for (var i = 0; a.length > i; i++) {
	$('#' + a[i].groupId, '#group-list').find('input[type="checkbox"]').attr('checked', 'checked');
}
$('.form #login').keyup(function(){
	var val = $(this).val();
	var message = '';
	if (!val) {
		message = '<span style="color: red;">Пожалуйста, укажите логин!</span>';
	}
	var regexp = /^[a-z0-9_\.]*$/i;
	if (!regexp.test(val)) {
		message = '<span style="color: red;">Не верный формат логина! Доступен только английский алфавит, цифры и знаки "-", "."</span>';
	}
	$('#login-element .description').html(message);
});
$('.form #name').keyup(function(){
	var val = $(this).val();
	var message = '';
	if (!val) {
		message = '<span style="color: red;">Пожалуйста, укажите имя пользователя!</span>';
	}
	var regexp = /^[a-zа-я0-9_\s\-\.]*$/i;
	if (!regexp.test(val)) {
		message = '<span style="color: red;">Не верный формат имени! Доступен английский, русский алфавиты, цифры, пробел и знаки "-", "_", "."</span>';
	}
	$('#name-element .description').html(message);
});
function save(el, id) {
	var msgBox = goog.dom.getElement('message');
	var groups = $('input[type="checkbox"]:checked', '#group-list');
	var login = goog.dom.getElement('login'),
		name = goog.dom.getElement('name'),
		email = goog.dom.getElement('email'),
		password = goog.dom.getElement('password');
	if (!login.value) {
    	login.focus();
    } else if (!name.value) {
    	name.focus();
    }
    if (!login.value || !name.value) {
    	msgBox.innerHTML = '<p>Поля <b>Логин</b> и <b>Имя</b> обязательны для заполнения.</p>';
		fx = new goog.fx.dom.FadeInAndShow(msgBox, 200);
		fx.play();
		return false;
    }
	if (groups.length <= 0) {
		msgBox.innerHTML = '<p>Пожалуйста, укажите хотя бы одну группу.</p>';
		fx = new goog.fx.dom.FadeInAndShow(msgBox, 200);
		fx.play();
		return false;
	}
	if (msgBox.innerHTML != '') {
		fx = new goog.fx.dom.FadeOutAndHide(msgBox, 200);
		fx.play();
		msgBox.innerHTML = '';
	}
	$(el).hide();
	$('#progress').show();
	var groupId = [];
	groups.each(function(){
		groupId.push($(this).parent().parent().attr('id'));
	});
	$.ajax({
		'url': '/cp/user/edit.save',
		'type': 'POST',
		'dataType': 'json',
		'data': {
			'id': id,
			'login': login.value,
			'name': name.value,
			'email': email.value,
			'password': password.value,
			'groups': groupId
		},
		'success':  function(response){
			if (typeof response.status == 'string' && response.status == 'ok') {
				$('.box-page-body').html('Пользователь <b>' + name.value + '</b> сохранен. <a href="/cp/user">Перейти к списку пользователей</a>, <a href="/cp/user/create">Создать пользователя</a>');
				$('#progress').hide();
				$(el).hide();
			} else if (typeof response.status == 'string' && response.status == 'error') {
				msgBox.innerHTML = '<p>' + response.message + '.</p>';
				fx = new goog.fx.dom.FadeInAndShow(msgBox, 200);
				fx.play();
				if (response.type == 'email') {
					email.focus();
				}
				$(el).show();
				$('#progress').hide();
			}
		}
	});
}
</script>